%###+===+++=======---=--------======*%%%%@%@@@@@@%%%%%%%%####%%%%%%%%
*==#-------------------------=====+#%%%%@@@@@@@@@%%%%%%%%###%%%%%%%%%
+=+*==----------------=--======+#%%%%%%%@@@%@@@@%%%%%###******++++++*
===+=====================++++*##%%%%%%#######%%%%%%%%%%%%%%%%%%%%%%#%
=============+++++++++***################******%%%%%%%%%%%%%%%%%%%%%%
+=++++++++++++***************#######%%%%%##**++%%%%%%%%%%%%%%%%%%%%%%
++++++++**#************###*******###%%%%%%%##**%%%%%%%%%%%%%%%%%%%%%%
******#######********************#######*%%%%#%%%%%%%%%%%%%%%%%%%%%%%
***+*+++*****#****####*****++=++*######*+*#%%%%%%%%%%%%%%%%%%%%%%%%%%
*+++*****++****************+++***######%#*+*%%%%%%%%%%%%%%%%%%%%%%%%%
************###############****####%%####**++#%%%%%%%%%%%%%%%%%%%%%%%
****###########################%%%########+*==#############%%%%%%%%%%
###%%%%%%%%%#%%#%%####%%#%%%#%#%%%%%%%%%#*=#+=#%%%%%%################
%#%%%%%%%%%%%%%%%%###%%%%%%%%%%%%%%%%%%####%+%%%%%%%%%%%%%%%%%%%%%%#%
%%%%%%%%%%%%%%%%%######%%%%%%%%%%%+#%######**#%#%%%%%%%%############%
%%%%%%%%%%%%%%#####*#######%%############*%*###############%%%%%%%%%%
%%%%#####%%#############%%%%%%%%%#***##%%*%+###%%%%%%%%%%%%%%%%%%%%%%
%#####%%%%%%%###########%%%%%%%%%%%#%%##%###*%%####%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%########*###%%%%%%%%%%%###**##%#*#%%######%%%%%%%%%%%%%%
%%%%%%%%%%%%##*######**##%%%%%%%%%%@@%#***##%%#*%%%%%%#####%%%%%%%%%%
%%%@@@%%%%%#######*######%%%%%%%%@@@@@@#**+#%%%*%%%%%%%%%%####%%%%%%%
%%%%%%%%%%#######*########%%%%%%@@@@%%%%*+*%%%#*#%%%%%%%%%%%%#####%%%
@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@%#%%%%%#%%%@@@@@@@@@@@@%%%%%%